#ifndef GLPP_UNIFORM_BLOCK_HPP
#define GLPP_UNIFORM_BLOCK_HPP

#include "../PhoenixInitializer.hpp"
#include "UniformBuffer.hpp"

namespace gl
{

class Shader;

class UniformBlock
{
public:
	static enum StoreType : unsigned char
	{
		STATIC,
		STREAM,
		DYNAMIC
	};

	UniformBlock();

	bool setBuffer(const gl::UniformBuffer &buffer);

	~UniformBlock();

	friend class gl::Shader;
private:
	GLuint mBlockLocation;
};

}

#endif